package com.xc.disk.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xc.disk.entity.UserEntity;

/**
 * <p>项目名称: Stars</p>
 * <p>描述: 用户接口类</p>
 * <P>创建人:小程 </p>
 * <P>创建人邮箱: 779943476@qq.com</p>
 * <p>创建时间: 2019/10/23</p>
 *
 * @version v1.0
 */
public interface UserService extends IService<UserEntity> {
    /**
     * 根据appId获取用户信息
     *
     * @param appId 用户appId
     * @return 用户信息
     */
    public UserEntity getUserByAppId(String appId);

    /**
     * 更具id查询用户信息
     *
     * @param id 用户id
     * @return 用户信息
     */
    public UserEntity getUserById(String id);

    /**
     * 修改用户信息
     *
     * @param userEntity 用户信息
     * @return 返回修改后的结果
     */
    public UserEntity updateUser(UserEntity userEntity);

    /**
     * 计算可用流量
     *
     * @param size   使用大小
     * @param userId 用户id
     */
    public void computeFreeFlow(String userId, long size, boolean isAdd);

    /**
     * 计算使用空间
     *
     * @param userId 用户id
     * @param size   用户大小
     * @param isAdd  true:加，false：减去
     */
    public void computeUseSpace(String userId, long size, boolean isAdd);

    /**
     * 根据appId获取用户信息
     *
     * @param shareCode 用户appId
     * @return 用户信息
     */
    public UserEntity getUserByShareCode(String shareCode);
}
